import UserService
import RecordService
userService = UserService.UserService()
recordService = RecordService.RecordService()

while True:
    print("*" * 50)
    print("\t\t\t\t欢迎使用校园门禁系统")
    print("*" * 50)
    print("【主菜单】：1-出校  2-入校  3-登记账户信息  0-退出")
    n = input(">> 请输入您的操作：")
    if n == "1":
        while True:
            print("【出校功能】：1-学生刷卡  2-老师刷卡  3-汽车刷卡 0-退出")
            uType = input(">> 请输入您的身份：")
            if uType == "0":
                break
            if uType == "3":
                # 汽车刷卡免密码
                uid = input(">> 请输入您的车牌：")
                password = "cart_null"
                if userService.checkUser(uid, uType, password):
                    # 验证通过 刷卡
                    recordService.insert(uid, 1, uType)
                else:
                    print("【error】 车牌有误，请重新输入，或向管理员登记信息。")
                continue
            else:
                uid = input(">> 请输入您的账号：")
                password = input(">> 请输入您的密码：")
                if userService.checkUser(uid, uType, password):
                    # 验证通过 刷卡
                    recordService.insert(uid, 1, uType)
                    continue
                else:
                    print("【error】 账户类型、密码或用户名错误，请重新输入，或向管理员登记信息。")
                    continue

    elif n == "2":
        print("【入校功能】：1-学生刷卡  2-老师刷卡  3-汽车刷卡 0-退出")
        uType = input(">> 请输入您的身份：")
        if uType == "0":
            break
        if uType == "3":
            # 汽车刷卡免密码
            uid = input(">> 请输入您的车牌：")
            password = "cart_null"
            if userService.checkUser(uid, uType, password):
                # 验证通过 刷卡
                recordService.insert(uid, 2, uType)
            else:
                print("【error】 车牌有误，请重新输入，或向管理员登记信息。")
            continue
        else:
            uid = input(">> 请输入您的账号：")
            password = input(">> 请输入您的密码：")
            if userService.checkUser(uid, uType, password):
                # 验证通过 刷卡
                recordService.insert(uid, 2, uType)
                continue
            else:
                print("【error】 账户类型、密码或用户名错误，请重新输入，或向管理员登记信息。")
                continue

    elif n == "3":
        print("【登记功能】：1-登记学生 2-登记老师 3-登记车辆 0-退出")
        uType = input(">> 请输入您要登记的账户类型：")
        if uType == "0":
            continue
        userService.insert(uType)

    elif n == "0":
        print("<< 您已退出系统，欢迎下次使用。")
        break
    else:
        print("【error】 输入有误，请输入有效的数字。")
        continue


